public class 赎金信 {

    public boolean canConstruct(String ransomNote, String magazine) {
        char[] s1 = ransomNote.toCharArray();
        char[] s2 = magazine.toCharArray();
        // 定义简易哈希表
        int[] hash = new int[128];
        int cnt = 0; // 记录元素的个数
        // 遍历表一
        for (char x : s1) {
            hash[x]++;
            cnt++;
        }
        // 遍历表二
        for (char x : s2) {
           if (hash[x] > 0) {
               cnt--; // 有效字符把元素个数--
           }
           hash[x]--;
        }
        // 元素个数为 0 匹配成功
        return cnt == 0 ? true : false;
    }
}
